<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.4"/>
<title>StrangeIoC: strange.extensions.mediation.api.IMediationBinder Interface Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">StrangeIoC
   &#160;<span id="projectnumber">0.6.0</span>
   </div>
   <div id="projectbrief">The IoC/Binding Framework for Unity3D and C#</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Events</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacestrange.html">strange</a></li><li class="navelem"><a class="el" href="namespacestrange_1_1extensions.html">extensions</a></li><li class="navelem"><a class="el" href="namespacestrange_1_1extensions_1_1mediation.html">mediation</a></li><li class="navelem"><a class="el" href="namespacestrange_1_1extensions_1_1mediation_1_1api.html">api</a></li><li class="navelem"><a class="el" href="interfacestrange_1_1extensions_1_1mediation_1_1api_1_1_i_mediation_binder.html">IMediationBinder</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="interfacestrange_1_1extensions_1_1mediation_1_1api_1_1_i_mediation_binder-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">strange.extensions.mediation.api.IMediationBinder Interface Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Interface for the Binder which maps Views to Mediators.  
 <a href="interfacestrange_1_1extensions_1_1mediation_1_1api_1_1_i_mediation_binder.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for strange.extensions.mediation.api.IMediationBinder:</div>
<div class="dyncontent">
 <div class="center">
  <img src="interfacestrange_1_1extensions_1_1mediation_1_1api_1_1_i_mediation_binder.png" usemap="#strange.extensions.mediation.api.IMediationBinder_map" alt=""/>
  <map id="strange.extensions.mediation.api.IMediationBinder_map" name="strange.extensions.mediation.api.IMediationBinder_map">
<area href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html" title="Collection class for bindings. " alt="strange.framework.api.IBinder" shape="rect" coords="0,0,296,24"/>
<area href="classstrange_1_1extensions_1_1mediation_1_1impl_1_1_mediation_binder.html" title="Binds Views to Mediators. " alt="strange.extensions.mediation.impl.MediationBinder" shape="rect" coords="0,112,296,136"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7e394e1dbd3279239425740221f727c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1extensions_1_1mediation_1_1api_1_1_i_mediation_binder.html#a7e394e1dbd3279239425740221f727c7">Trigger</a> (<a class="el" href="namespacestrange_1_1extensions_1_1mediation_1_1api.html#ae5a81bb1edf9fca1d2aca9f4fada72a8">MediationEvent</a> evt, <a class="el" href="interfacestrange_1_1extensions_1_1mediation_1_1api_1_1_i_view.html">IView</a> view)</td></tr>
<tr class="memdesc:a7e394e1dbd3279239425740221f727c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">An event that just happened, and the View it happened to.  <a href="#a7e394e1dbd3279239425740221f727c7">More...</a><br/></td></tr>
<tr class="separator:a7e394e1dbd3279239425740221f727c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e06538abe8fb83adaa0cf2c880cb52f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e06538abe8fb83adaa0cf2c880cb52f"></a>
<a class="el" href="interfacestrange_1_1extensions_1_1mediation_1_1api_1_1_i_mediation_binding.html">IMediationBinding</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1extensions_1_1mediation_1_1api_1_1_i_mediation_binder.html#a0e06538abe8fb83adaa0cf2c880cb52f">BindView&lt; T &gt;</a> ()</td></tr>
<tr class="memdesc:a0e06538abe8fb83adaa0cf2c880cb52f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Porcelain for Bind&lt;T&gt; providing a little extra clarity and security. <br/></td></tr>
<tr class="separator:a0e06538abe8fb83adaa0cf2c880cb52f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html">strange.framework.api.IBinder</a></td></tr>
<tr class="memitem:a45eafa9336e6a40117f6c3259f75e72c inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45eafa9336e6a40117f6c3259f75e72c"></a>
<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a45eafa9336e6a40117f6c3259f75e72c">Bind&lt; T &gt;</a> ()</td></tr>
<tr class="memdesc:a45eafa9336e6a40117f6c3259f75e72c inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bind a Binding Key to a class or interface generic. <br/></td></tr>
<tr class="separator:a45eafa9336e6a40117f6c3259f75e72c inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3eb45ea3d007b996ebf3b9a1df11ed81 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3eb45ea3d007b996ebf3b9a1df11ed81"></a>
<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a3eb45ea3d007b996ebf3b9a1df11ed81">Bind</a> (object value)</td></tr>
<tr class="memdesc:a3eb45ea3d007b996ebf3b9a1df11ed81 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bind a Binding Key to a value. <br/></td></tr>
<tr class="separator:a3eb45ea3d007b996ebf3b9a1df11ed81 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6394be0eb4239d6f3617c9ab37a5f75 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6394be0eb4239d6f3617c9ab37a5f75"></a>
<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#ae6394be0eb4239d6f3617c9ab37a5f75">GetBinding&lt; T &gt;</a> ()</td></tr>
<tr class="memdesc:ae6394be0eb4239d6f3617c9ab37a5f75 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a binding based on the provided Type. <br/></td></tr>
<tr class="separator:ae6394be0eb4239d6f3617c9ab37a5f75 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5ea19fff8928a8b47f868f760e098c4 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5ea19fff8928a8b47f868f760e098c4"></a>
<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#af5ea19fff8928a8b47f868f760e098c4">GetBinding</a> (object key)</td></tr>
<tr class="memdesc:af5ea19fff8928a8b47f868f760e098c4 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a binding based on the provided object. <br/></td></tr>
<tr class="separator:af5ea19fff8928a8b47f868f760e098c4 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60783aa7cbbb257955fb78c189cea691 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60783aa7cbbb257955fb78c189cea691"></a>
<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a60783aa7cbbb257955fb78c189cea691">GetBinding&lt; T &gt;</a> (object name)</td></tr>
<tr class="memdesc:a60783aa7cbbb257955fb78c189cea691 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a binding based on the provided Key (generic)/Name combo. <br/></td></tr>
<tr class="separator:a60783aa7cbbb257955fb78c189cea691 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54c2a6a2ff70790848cf090e062ee327 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54c2a6a2ff70790848cf090e062ee327"></a>
<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a54c2a6a2ff70790848cf090e062ee327">GetBinding</a> (object key, object name)</td></tr>
<tr class="memdesc:a54c2a6a2ff70790848cf090e062ee327 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a binding based on the provided Key/Name combo. <br/></td></tr>
<tr class="separator:a54c2a6a2ff70790848cf090e062ee327 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3f5ba337aea4bed640c782ece96eb8b inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3f5ba337aea4bed640c782ece96eb8b"></a>
<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#aa3f5ba337aea4bed640c782ece96eb8b">GetRawBinding</a> ()</td></tr>
<tr class="memdesc:aa3f5ba337aea4bed640c782ece96eb8b inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate an unpopulated <a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html" title="Binds a key SemiBinding to a vlaue Semibinding. ">IBinding</a> in whatever concrete form the Binder dictates. <br/></td></tr>
<tr class="separator:aa3f5ba337aea4bed640c782ece96eb8b inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fcbcb628a76199699751ee7ced30acb inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0fcbcb628a76199699751ee7ced30acb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a0fcbcb628a76199699751ee7ced30acb">Unbind&lt; T &gt;</a> ()</td></tr>
<tr class="memdesc:a0fcbcb628a76199699751ee7ced30acb inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a binding based on the provided Key (generic) <br/></td></tr>
<tr class="separator:a0fcbcb628a76199699751ee7ced30acb inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48d5f4abf0835c9642cf99efe8743e40 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48d5f4abf0835c9642cf99efe8743e40"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a48d5f4abf0835c9642cf99efe8743e40">Unbind&lt; T &gt;</a> (object name)</td></tr>
<tr class="memdesc:a48d5f4abf0835c9642cf99efe8743e40 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a binding based on the provided Key (generic) / Name combo. <br/></td></tr>
<tr class="separator:a48d5f4abf0835c9642cf99efe8743e40 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d35eb191d9980b0ee42379f86465ec8 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d35eb191d9980b0ee42379f86465ec8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a8d35eb191d9980b0ee42379f86465ec8">Unbind</a> (object key)</td></tr>
<tr class="memdesc:a8d35eb191d9980b0ee42379f86465ec8 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a binding based on the provided Key. <br/></td></tr>
<tr class="separator:a8d35eb191d9980b0ee42379f86465ec8 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18a41d2d3b07391e0ffa928a0fa5f92f inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18a41d2d3b07391e0ffa928a0fa5f92f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a18a41d2d3b07391e0ffa928a0fa5f92f">Unbind</a> (object key, object name)</td></tr>
<tr class="memdesc:a18a41d2d3b07391e0ffa928a0fa5f92f inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a binding based on the provided Key / Name combo. <br/></td></tr>
<tr class="separator:a18a41d2d3b07391e0ffa928a0fa5f92f inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0abb09def546f2903c0cb37c45a616e7 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0abb09def546f2903c0cb37c45a616e7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a0abb09def546f2903c0cb37c45a616e7">Unbind</a> (<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a> binding)</td></tr>
<tr class="memdesc:a0abb09def546f2903c0cb37c45a616e7 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the provided binding from the Binder. <br/></td></tr>
<tr class="separator:a0abb09def546f2903c0cb37c45a616e7 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a390954ea1445824dccd05f5785da605d inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a390954ea1445824dccd05f5785da605d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a390954ea1445824dccd05f5785da605d">RemoveValue</a> (<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a> binding, object value)</td></tr>
<tr class="memdesc:a390954ea1445824dccd05f5785da605d inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a select value from the given binding. <br/></td></tr>
<tr class="separator:a390954ea1445824dccd05f5785da605d inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0389b8eb87da4dd5d0f16f8e5ef9736 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0389b8eb87da4dd5d0f16f8e5ef9736"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#aa0389b8eb87da4dd5d0f16f8e5ef9736">RemoveKey</a> (<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a> binding, object value)</td></tr>
<tr class="memdesc:aa0389b8eb87da4dd5d0f16f8e5ef9736 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a select key from the given binding. <br/></td></tr>
<tr class="separator:aa0389b8eb87da4dd5d0f16f8e5ef9736 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d683db48676ef933f3bd4ad53da40ed inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d683db48676ef933f3bd4ad53da40ed"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a1d683db48676ef933f3bd4ad53da40ed">RemoveName</a> (<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a> binding, object value)</td></tr>
<tr class="memdesc:a1d683db48676ef933f3bd4ad53da40ed inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a select name from the given binding. <br/></td></tr>
<tr class="separator:a1d683db48676ef933f3bd4ad53da40ed inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b0a2a64b0c105a1305fdccf7736839f inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b0a2a64b0c105a1305fdccf7736839f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a7b0a2a64b0c105a1305fdccf7736839f">OnRemove</a> ()</td></tr>
<tr class="memdesc:a7b0a2a64b0c105a1305fdccf7736839f inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Binder is being removed Override this method to clean up remaining bindings. <br/></td></tr>
<tr class="separator:a7b0a2a64b0c105a1305fdccf7736839f inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a973c34bf47d4101bc97da3572b4b3f75 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binder.html#a973c34bf47d4101bc97da3572b4b3f75">ResolveBinding</a> (<a class="el" href="interfacestrange_1_1framework_1_1api_1_1_i_binding.html">IBinding</a> binding, object key)</td></tr>
<tr class="memdesc:a973c34bf47d4101bc97da3572b4b3f75 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Places individual Bindings into the bindings Dictionary as part of the resolving process  <a href="#a973c34bf47d4101bc97da3572b4b3f75">More...</a><br/></td></tr>
<tr class="separator:a973c34bf47d4101bc97da3572b4b3f75 inherit pub_methods_interfacestrange_1_1framework_1_1api_1_1_i_binder"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Interface for the Binder which maps Views to Mediators. </p>
<p>In a general sense, mediation is the act of using one thing to separate and communicate between two others. mediation in Strange refers to separating Views from the rest of the application. The reason for doing this is not at all theoretical, but highly practical. Views ypically come in two flavors: the "component", which tends to be stable and dropped into multiple, highly varied situations, and the highly volatile "working" View, which changes rapidly according to last-minute design considerations. In both cases, Mediators help you to insulate the View from the app around it, and vice-versa. This yields components that are easier to re-use, and working Views whose chaos is structurally contained.</p>
<p>The MediationBinder quite simply Binds two (or more) classes. The Key is the View class, the Value is one or more Mediators. Whenever the View shows up, a corresponding Mediator joins it to buffer View from app. The View doesn't know about the Mediator, nor about the app beyond it. It simply establishes its API and waits tp be told what to do. The Mediator, on the other hand, is allowed to know quite a lot about the View and the app. It can be injected, it has access to the common event bus, and can listen for and Dispatch events. It is intended to be 'thin', that is, it should know just enough to provide mediation. Leave logic, data storage, and View behaviour to other classes.</p>
<p>In the context of Unity3D, the View is a MonoBehaviour attached to a GameObject. The mediator is also a MonoBehaviour, so it has access to all the usual things a MomoBehaviour would. Consider it a best practice to attach only the View to your GameObject in Unity3D.</p>
<p>Finally, two words of warning. First: Views may be injected. This allows you to provide a local Dispatcher, a Configuration file, or other items that might come in handy. I recommend very strongly that you do not inject the context-wide Dispatcher, nor any other class involving the world beyond the View's immediate area of interest. To do so risks negating the whole point of mediation.</p>
<p>Second: experience tells me that understanding what belongs in Mediator and what in View is the trickiest part of this system. I recommend the 'thin' class approach, i.e., nothing goes in the Mediator but what it needs to mediate. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a7e394e1dbd3279239425740221f727c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void strange.extensions.mediation.api.IMediationBinder.Trigger </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacestrange_1_1extensions_1_1mediation_1_1api.html#ae5a81bb1edf9fca1d2aca9f4fada72a8">MediationEvent</a>&#160;</td>
          <td class="paramname"><em>evt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfacestrange_1_1extensions_1_1mediation_1_1api_1_1_i_view.html">IView</a>&#160;</td>
          <td class="paramname"><em>view</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>An event that just happened, and the View it happened to. </p>
<p>If the event was Awake, it will trigger creation of a mapped Mediator. </p>

<p>Implemented in <a class="el" href="classstrange_1_1extensions_1_1mediation_1_1impl_1_1_mediation_binder.html#a239e22ae10b9abac39d32533771457f8">strange.extensions.mediation.impl.MediationBinder</a>.</p>

</div>
</div>
<hr/>The documentation for this interface was generated from the following file:<ul>
<li>StrangeIoC/scripts/strange/extensions/mediation/api/IMediationBinder.cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jan 28 2014 13:07:05 for StrangeIoC by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.4
</small></address>
</body>
</html>
